package com.jwx.controller;

import com.jwx.pojo.Result;
import com.jwx.utils.JwtUtil;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Map;

@RestController
@RequestMapping("/article")
public class ArticleController {
    @GetMapping("/list")
    public Result list(){
        //验证token
        return Result.success("成功显示文章列表");



        /**
         * 没有登录也可以访问文章列表，这是Bug只有用户登录成功，才能访问和
         * 用户相关的信息，包括文章模块，分类模块
         * 所以我们需要进行登录认证：
         * 一、会话技术：用户打开浏览器，访问web服务器的资源，会话建立，直到有一方断开连接，会话结束，在一次会话中可以包含多次请求和响应
         *
         * 会话跟踪：是一种维护浏览器状态的方法，服务器需要识别多次请求是否来自同一浏览器，以便在同一次会话的多次请求间共享数据。
         *
         * 会话跟踪的方案：
         * 1、客户端会话跟踪技术：Cookie
         * 2、服务器会话跟踪技术：Session
         * 3、令牌技术
         * Cookie会话技术：有服务器产生内容，浏览器收到请求后保存到本地：当浏览器再次访问时，浏览器会自动带上Cookie，这样服务器刘能通过Cookie的内容判断
         *Session会话技术：底层基于Cookie，Session采用的是在服务器端保存状态的方案
         * JWT令牌技术：
         * 全称JSON Web Token
         * 作用：定义了一种简洁的、自包含的模式，用于在通讯双方以JSON数据格式安全的传输信息，由于数字签名的存在，这些信息是可靠的
         *组成：
         *      第一部分：Header
         *      第二部分：有效载荷
         *      第三部分：签名，加密算法
         * 拦截器Intercept
         *      概念：是一种动态拦截方法调用的机制,类似于Filter（过滤器）
         *      是Java Web三大组件（Servlet，Filter，Listener）
         *      Interceptor：j Spring Boot 框架中的一种技术，主要实现对Control中的方法进行拦截
         *      Intercept实现步骤：
         *          1、定义拦截器类， 实现HandlerIntercept接口，并重写其方法
         *          2、注册拦截器
         *          3、
         */

    }

}
